﻿using GN.Pay.TradeChannel.DefaultImpl;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GN.Pay.TradeChannel.ProtocolPay
{
    /// <summary>
    /// 协议支付申请
    /// </summary>
    [Serializable]
    public class OrderProtocolPayApply : OrderPayApply, IProtocolPayApply
    {
        /// <summary>
        /// 账户名称
        /// </summary>
        public string AccountName { get; set; }

        /// <summary>
        /// 账户或卡号
        /// </summary>
        public string AccountNo { get; set; }

        /// <summary>
        /// 账户类型
        /// </summary>
        public BankAccountType AccountType { get; set; }       

        /// <summary>
        /// 银行代码
        /// </summary>
        public string BankNo { get; set; }

        /// <summary>
        /// 信用卡尾号
        /// </summary>
        public string CreditCardLastNo { get; set; }

        /// <summary>
        /// 信用卡过期
        /// </summary>
        public string CreditCardLastTerm { get; set; }

        /// <summary>
        /// 身份证号
        /// </summary>
        public string IdentityNo { get; set; }

        /// <summary>
        /// 会员Id
        /// </summary>
        public string MemberId { get; set; }

        /// <summary>
        /// 预留手机号
        /// </summary>
        public string MobilePhone { get; set; }

        /// <summary>
        /// 开户行所在城市
        /// </summary>
        public string OpenBankCity { get; set; }

        /// <summary>
        /// 开户银行
        /// </summary>
        public string OpenBankName { get; set; }

        /// <summary>
        /// 协议号
        /// </summary>
        public string ProtocolNo { get; set; }

        /// <summary>
        /// 通道会员编码
        /// </summary>
        public string ChannelMemberNo { get; set; }
    }
}
